【MySQL】テーブルの基本操作 - 作成・一覧表示・情報表示・削除
ここでは、MySQLのテーブルの基本操作を解説します。
検証環境
テーブル
テーブルは“データを格納する箱”のことです。
イメージ的にはExcelやスプレッドシートのような表形式のデータになります。
商品名 | 値段 | 在庫 |
---|---|---|
リンゴ | 200 | 10 |
ミカン | 150 | 30 |
パイナップル | 1100 | 3 |
ブドウ | 3500 | 1 |
テーブルは主にカラム、レコード、フィールドによって構成されます。
カラム
カラムは“テーブルに格納するデータの名前”のことです。
例えば、上記テーブルの『商品名』・『値段』・『在庫』の列が該当します。
商品名 | 値段 | 在庫 |
---|
カラムは数値や文字列、日付などのデータ型があります。
レコード
レコードは“テーブルのデータ”のことです。
例えば上記テーブルの2〜5行目です。
リンゴ | 200 | 10 |
通常、テーブルへのデータ追加はレコード単位で行います。
フィールド
フィールドは“最小単位のデータ”のことです。
例えば上記テーブルのリンゴの値段(2列目2行目)です。
200 |
作成(CREATE TABLE
)
テーブルの作成はCREATE TABLE
文を使います。
基本構文
CREATE TABLE テーブル名(カラム定義);
サンプル
上記テーブルを実際に作成します。
mysql> CREATE TABLE items(
-> name VARCHAR(20),
-> price INT,
-> stock INT
-> );
Query OK, 0 rows affected (0.03 sec)
※ ->
は構文とは関係ありません。(改行時に自動で出力される記号です。)
items
という名前のテーブルを作成しました。
カラム定義はカラム名 データ型
の構文で記述し、複数のカラムがある場合はカンマ(,
)で区切ります。
データ型が未学習の方は、ここでは構文のみ覚えていただければ問題ありませんが、以下カラム定義の説明を記載します。
上記サンプルは商品名はname VARCHAR(20)
、値段はprice INT
、在庫はstock INT
に対応しています。
データ型はVARCHAR
とINT
を使用しており、VARCHAR
は文字列型、INT
は整数型です。
※ VARCHAR
の丸括弧(()
)内の数値は保持できる文字数です。
一覧表示(SHOW TABLES
)
テーブル一覧の表示はSHOW TABLES
文を使います。
基本構文
SHOW TABLES;
サンプル
mysql> SHOW TABLES;
+----------------+
| Tables_in_mydb |
+----------------+
| items |
+----------------+
1 row in set (0.00 sec)
情報表示
テーブルの情報や作成クエリを表示できます。
情報(DESC
)
情報(テーブル構造)の表示はDESC
文を使います。
基本構文
DESC テーブル名;
サンプル
mysql> DESC items;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| price | int | YES | | NULL | |
| stock | int | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
また、SHOW COLUMNS FROM
文でも同様の表示が可能です。
mysql> SHOW COLUMNS FROM items;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| price | int | YES | | NULL | |
| stock | int | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
作成クエリ(SHOW CREATE TABLE
)
作成クエリの表示はSHOW CREATE TABLE
文を使います。
基本構文
SHOW CREATE TABLE テーブル名;
サンプル
mysql> SHOW CREATE TABLE items;
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| items | CREATE TABLE `items` (
`name` varchar(20) DEFAULT NULL,
`price` int DEFAULT NULL,
`stock` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
削除(DROP TABLE
)
テーブルの削除はDROP TABLE
文を使います。
基本構文
DROP TABLE
サンプル
mysql> DROP TABLE items;
Query OK, 0 rows affected (0.02 sec)